Awesome CakePHP
      
    
    
      A curated list of amazingly awesome CakePHP 3.x+ plugins,
      resources and shiny things.
    
    
      Plugins with the “:strawberry:” icon have CakePHP 4 compatible release
      too.
    
    
      If you are looking for CakePHP 2.x resources please visit: - the
      CakePHP 2.x version
      of this awesome list - this wiki with a
      list of not-yet upgraded plugins
    
    
      Additional lists you might find useful: -
      CakePHP Plugins -
      Awesome PHP -
      Awesome Awesomeness
    
    
      
        For those wondering; this list differs from plugins.cakephp.org by
        supporting plugin subparts (instead of only the whole plugin/repo), more
        granular grouping and the primary focus on task specific functionality.
      
    
    Table of Contents
    
    Plugins
    APM
    Plugins for Application Performance Monitoring.
    
      - 
        NewRelic plugin
        - A complete plugin that enables full New Relic integration for a
        CakePHP application, including CLI naming, exceptions sending, custom
        timings, etc.
      
 
      - 
        NewRelic plugin
        - A simple plugin that enables just name transaction and browser timing
        using the New Relic PHP agent.
      
 
    
    Architecture
    
    Asset Management
    
      Tools for managing, compressing and minifying website assets.
    
    
    Auditing / Logging
    Plugins for auditing and logging.
    
    
      Authentication and Authorization
    
    
      Plugins and libraries for implementing authentication and
        authorization.
    
    
      - 
        :strawberry: Acl plugin -
        Managing ACL as database approach.
      
 
      - 
        :strawberry:
        ADmad/JwtAuth plugin
        - A plugin for authenticating using JSON Web Tokens.
      
 
      - 
        :strawberry:
        ADmad/SocialAuth plugin
        - A plugin which allows you to authenticate using social providers like
        Facebook/Google/Twitter etc. using
        SocialConnect/auth
        social sign on library.
      
 
      - 
        :strawberry:
        Authentication plugin
        - Official CakePHP authentication middleware plugin.
      
 
      - 
        :strawberry:
        Authorization plugin
        - Official CakePHP authorization stack.
      
 
      - 
        CakeDC/NavAuth plugin
        - A plugin for authenticating against Navision® service using SOAP or
        OData services. It includes NTLM authentication and more.
      
 
      - 
        :strawberry:
        CakeDC/Users plugin -
        Complete user management (admin panel, remember me, etc), Social login
        (FB, Twitter, LinkedIn, Google, Instagram), RBAC, API and more.
      
 
      - 
        CookieAuth plugin
        - A simple Cake 3 plugin to automatically authenticate users with
        Cookies.
      
 
      - 
        HierAuth plugin
        - A CakePHP plugin for hierarchical, role based, simple authorization.
      
 
      - 
        Muffin/OAuth2 plugin -
        OAuth2 authentication using the
        
league/oauth2-client.
       
      - 
        :strawberry:
        Muffin/Tokenize plugin
        - Event driven behavior for easily generating single-use security
        tokens.
      
 
      - 
        MultiTenant plugin
        - Easily build SaaS enabled web applications.
      
 
      - 
        :strawberry:
        TinyAuth plugin
        - Authentication and role based (single/multi) authorization as very
        light-weight approach.
      
 
      - 
        :strawberry:
        Tools:Passwordable
        - Containing
        Passwordable behavior
        for a DRY approach on password hashing.
      
 
      - 
        :strawberry:
        TwoFactorAuth plugin
        - Allows two factor authentication using Google Authenticator or similar
        app to generate one-time codes. Based on
        RobThree/TwoFactorAuth
        library.
      
 
      - 
        UserPermissions plugin
        - Allow groups of users or single users to view a specific page.
      
 
    
    Caching
    Plugins for caching data.
    
      - 
        :strawberry:
        Cache plugin
        - For caching views (HTML, CSV, JSON, XML, …) as static cache files.
      
 
    
    Code Analysis
    Plugins for analysing, parsing and manipulation codebases.
    
      - 
        :strawberry:
        CakeDC/PHPStan -
        A PHPStan extension to resolve CakePHP magic around getter return types
        for the static analyzer.
      
 
      - 
        :strawberry:
        IdeHelper plugin
        - Helps to make IDE support better by adding annotations to your
        existing code similar to what baking does to new code.
      
 
      - 
        :strawberry:
        TestHelper plugin
        - Provides testing enhancements and TDD support as browser backend.
      
 
    
    Debugging
    Plugins for debugging and local development.
    
      - 
        Airbrake plugin
        A plugin to seamlessly integrate Airbrake with CakePHP for errors and
        exceptions.
      
 
      - 
        AssociationsDebugger plugin
        - A plugin that draws your model associations as diagram.
      
 
      - 
        :strawberry:
        CakephpWhoops plugin
        - PHP errors and exceptions for cool kids with
        filp/whoops.
      
 
      - 
        :strawberry:
        DebugKit plugin - The
        de-facto standard for debugging.
      
 
      - 
        ErrorEmail plugin
        - A plugin to email exception/error information to your dev team.
      
 
      - 
        :strawberry:
        Execution order
        - A demo app to display the execution order of files, methods and
        callbacks.
      
 
      - 
        Psa/FixtureCheck plugin
        - A plugin to help detect mismatches in live DB and fixtures in order to
        make fixture based tests more reliable and deployments safer.
      
 
      - 
        :strawberry:
        Sentry plugin A
        plugin to seamlessly integrate Sentry with CakePHP for errors and
        exceptions.
      
 
      - 
        :strawberry:
        Setup plugin
        - A lightweight setup plugin containing debugging and maintenance tools.
      
 
    
    Dependency Injection
    
      Plugins that implement the dependency injection design pattern.
    
    
      - 
        PimpleDi plugin
        Allows dependency injection based on Pimple library.
      
 
      - 
        PipingBag plugin -
        Dependency injection container plugin that adds the ability to configure
        object instances and their dependencies before they are used, and to
        store them into a container class for easy access.
      
 
    
    E-commerce
    
      Plugins and applications for taking payments and building online
        e-commerce stores.
    
    
      - 
        PaypalWPP plugin -
        For communicating with Paypal Web Payments Pro for transactions and
        information about your account.
      
 
    
    Email
    Plugins for sending and parsing email.
    
    Environment
    Plugins for environment.
    
    File Manipulation
    Plugins for file manipulation.
    
    Filtering and Validation
    Plugins for filtering and validating data.
    
      - 
        Gourmet/Filters plugin
        - Extra dispatcher filters (maintenance, robots, ip, etc).
      
 
      - 
        Gourmet/Validation plugin
        - Extra validation providers (Respect, IsoCodes, etc.) and rules.
      
 
      - 
        HtmlPurifier plugin
        - Purifier Plugin that features a trait, behavior and helper to allow
        you to get sanitization and filtering where you need it. You can
        configure multiple sets of filter rules as well.
      
 
      - 
        HtmlPurifier plugin
        - Purifier Plugin Behavior that cleanses data before it is marshaled
        into the entity and/or before saving.
      
 
    
    Geolocation
    
      Plugins for geocoding addresses and working with latitudes and
        longitudes.
    
    
    HTTP
    Plugins for HTTP and client abstraction
    
    I18n
    
      Plugins for I18n (Internationalization) and L10n (Localization).
    
    
      - 
        :strawberry:
        ADmad/I18n plugin -
        A plugin with I18n related tools.
      
 
      - 
        :strawberry:
        Cake/Localized plugin
        - Localized validation and ready-to-use translation PO files.
      
 
      - 
        :strawberry:
        ShadowTranslate plugin
        - A plugin with shadow table based replacement for core’s Translate
        behavior.
      
 
      - 
        Transifex plugin
        - Managing i18n PO files and translations via Transifex API.
      
 
      - 
        Translate plugin
        - Manage translations of your static content the easy way via web
        backend, incl. import from POT files, auto-suggest and auto-translate
        via API.
      
 
      - 
        Translation plugin
        - Extract pot files, translate string (manually, google, community),
        export translations to pot files.
      
 
    
    Imagery
    Plugins for manipulating images.
    
    Libs
    
      Useful libraries or tools that don’t fit in any of the other
        categories.
    
    
      - 
        Capcake - Deploy CakePHP
        applications using Capistrano.
      
 
      - 
        Chronos - A simple
        standalone DateTime API extension (successor of Carbon).
      
 
      - 
        Composer Installers
        - A multi framework Composer library installer.
      
 
      - 
        Composer/Packagist
        - A package and dependency manager.
      
 
      - 
        Graphviz - A
        Graphviz library.
      
 
      - 
        Jenkins - The free alternative for
        private (GitHub) repos.
      
 
      - 
        Rocketeer - PHP
        task runner and deployment package.
      
 
      - 
        Travis CI - A continuous
        integration platform - de-facto standard for testing (GitHub) repos.
      
 
      - 
        YamlRoute -
        Configure routes with simple YAML files.
      
 
    
    Markup
    Plugins for working with markup.
    
    Migration
    Plugins and resources around migration and upgrading.
    
    Miscellaneous
    Misc plugins and libraries.
    
      - 
        ActionsClass plugin
        - Gives you the ability to manage your Controller actions as single
        classes.
      
 
      - 
        :strawberry:
        Ajax plugin -
        A plugin to ease handling AJAX requests.
      
 
      - 
        CakeAdmin plugin
        - A non-stable user management plugin with a built-in admin area.
      
 
      - 
        :strawberry:
        CakeDC/Enum plugin - A
        plugin to add enumeration list support to your app.
      
 
      - 
        :strawberry:
        CakeDto plugin
        - Quickly generate useful data transfer objects for your app
        (mutable/immutable), replacing messy arrays and leveraging your IDE
        through typehinting and autocomplete.
      
 
      - 
        :strawberry:
        CakeImpersonate plugin
        - A component that stores the current authentication session and creates
        new session for impersonating Users. User can revert back to original
        authentication sessions without the need to re-login.
      
 
      - 
        CakeMiddlewares
        - A collection of Cakephp Middlewares.
      
 
      - 
        :strawberry:
        Calendar plugin
        - For generating basic calendars. Includes IcalView for ICS calendar
        file generation.
      
 
      - 
        Comments plugin
        - A fully customizable Comments plugin.
      
 
      - 
        CurrencyConverter plugin
        - A plugin to convert currency into another one.
      
 
      - 
        Dashboard plugin -
        Build beautiful dashboards for your cakes.
      
 
      - 
        DatabaseBackup plugin
        - A plugin to export, import and manage database backups.
      
 
      - 
        :strawberry:
        Feedback plugin
        - Allow visitors to send quick and easy feedback incl. a screenshot via
        sidebar form.
      
 
      - 
        :strawberry:
        Flash plugin
        - More powerful flash messages for your application.
      
 
      - 
        :strawberry:
        OPCache Preloader
        - An OPCache Preloader for CakePHP 4.x applications.
      
 
      - 
        OrcaServices/Heartbeat plugin
        - Monitor the hearbeat of your application (e.g. whether the database is
        available and up-to-date).
      
 
      - 
        Inertia plugin
        - Server side adapter for Inertia.js.
      
 
      - 
        Interval plugin
        - Converts seconds to human readable string (string to seconds), uses
        business hours (1 week = 5 days, 1 day = 8 hours).
      
 
      - 
        LinkScanner plugin
        - A plugin for recursively scanning links.
      
 
      - 
        Robotusers/Tactician plugin
        - Tools for Tactician command bus integration.
      
 
      - 
        :strawberry:
        Setup:Maintenance
        - Maintenance shell to go into maintenance mode for all requests with
        optional IP whitelisting.
      
 
      - 
        :strawberry:
        Shim plugin -
        A plugin containing useful shims and improvements as basis for your
        application.
      
 
      - 
        TokenVerify plugin
        - Easily issue tokens that can be used for mail authentication.
      
 
      - 
        :strawberry:
        Tools plugin
        - Containing lots of useful libs, helpers, behaviors, components, shells
        and more.
      
 
      - 
        UserTools plugin
        - User tools for login, registration, password reset and more. Works out
        of the box CRUD like and is highly configurable.
      
 
      - 
        Utils plugin
        - Containing useful components (Authorizer, Menu) and behaviors
        (WhoDidIt, Uploadable, Metas, Stateable).
      
 
      - 
        Wrench plugin -
        Maintenance Mode plugin. Easily extensible and customizable.
      
 
      - 
        Yaml plugin -
        For using YAML config files instead of PHP arrays.
      
 
    
    Navigation
    Tools for building navigation structures.
    
    NoSQL
    Plugins for working with “NoSQL” backends.
    
    Notifications
    Plugins for working with notification software.
    
      - 
        ker0x/CakeGcm plugin - A
        plugin to send downstream messages to an Android or iOS device through
        Google Cloud Messaging.
      
 
      - 
        Notifier plugin
        - A plugin that makes creating and reading notifications easy.
      
 
      - 
        ker0x/Push plugin -
        A plugin to send push notifications through services like Firebase Cloud
        Messaging.
      
 
    
    ORM / Database / Datamapping
    
      Plugins that implement object-relational mapping or data-mapping
        techniques.
    
    
    PDF
    Plugins and software for working with PDF files.
    
    Queue
    Plugins for working with event and task queues.
    
      - 
        CakeResque plugin -
        A plugin for Resque, a library for creating background jobs.
      
 
      - 
        :strawberry:
        CakeQueuesadilla plugin
        - A plugin that provides queueing integration with a variety of backends
        (BeanstalkD, MySQL, Redis, etc.).
      
 
      - 
        Gearman plugin
        - A plugin for offloading CakePHP tasks to a Gearman Job Server.
      
 
      - 
        :strawberry:
        Queue plugin
        - A minimal and dependency-free queue solution.
      
 
    
    REST and API
    Plugins and web tools for developing REST-ful APIs.
    
      - 
        :strawberry:
        Alt3/Swagger plugin
        - Swagger 2.0 documentation for your CakePHP APIs using swagger-php and
        swagger-ui.
      
 
      - 
        Alt3/ValidationExposer plugin
        - Easily expose your application’s validation rules.
      
 
      - 
        ApiPagination plugin
        - Injects pagination information from CakePHP’s Paginator into
        serialized JsonView and XmlView responses.
      
 
      - 
        :strawberry:
        CakeDC/Api plugin -
        All-in-one solution to provide a complete API. It includes versioning,
        renderers, CRUD, authentication, extensions (paginate, filter, HATEOAS),
        and much more.
      
 
      - 
        Cors plugin -
        Activate CORS with Middleware.
      
 
      - 
        Cors plugin - A
        lightweight plugin for adding CORS headers to specified endpoints.
      
 
      - 
        CrudJsonApi plugin
        - Crud listener for building
        JSON API compliant APIs.
      
 
      - 
        :strawberry:
        FractalTransformerView plugin
        - A plugin which allows using
        Fractal transformers
        for your API output.
      
 
      - 
        :strawberry: MixerApi - Streamline
        development of modern RESTful APIs for your teams CakePHP project.
      
 
      - 
        :strawberry:
        SwaggerBake plugin
        - This plugin automatically builds your Swagger UI documentation from
        your existing models and routes. A redoc option is also available.
      
 
    
    Search
    
      Plugins and software for indexing and performing search queries on
        data.
    
    
    Security
    
      Plugins and information around security, preventing vulnerabilities and
        protection against XSS and alike.
    
    
      - 
        :strawberry:
        Bruteforce -
        Simple way to add Brute Force Protection to your installation without
        involving database.
      
 
      - 
        BryanCrowe/EncryptedType
        - Simple solution that enables Encrypted data types to be stored in the
        database.
      
 
      - 
        :strawberry:
        Captcha plugin
        - Simple, unobstrusive and extendable captcha solution providing by
        default an image based math captcha.
      
 
      - 
        CipherBehavior plugin
        - Cipher your entities data with this behavior. Encryption is done at
        PHP level using CakePHP Security class.
      
 
      - 
        :strawberry:
        Expose plugin
        - Expose entities through additional UUIDs instead of their AIID primary
        keys to obfuscate those IDs and data associated with these numerically
        ordered values.
      
 
      - 
        :strawberry:
        Muffin/Obfuscate plugin
        - Primary key obfuscation/shortening using UUIDs, HashIds, Optimus, Tiny
        and/or custom obfuscation strategies.
      
 
      - 
        :strawberry:
        Muffin/Throttle plugin
        - A plugin for rate limiting (API) requests.
      
 
      - 
        :strawberry:
        Recaptcha plugin -
        Simple, lightweight Google Recaptcha v2.
      
 
      - 
        Recaptcha Mailhide plugin
        - A plugin that allows you to hide email addresses using reCAPTCHA.
      
 
      - 
        StopSpam plugin
        - A plugin that allows you to check if a username, email address or IP
        address has been reported as a spammer.
      
 
    
    SEO
    Search Engine Optimization.
    
      - 
        :strawberry:
        Muffin/Slug plugin - A
        plugin for generating slugs and finding records by slug. Uses a
        pluggable architecture which allows using your own slug generator class.
      
 
      - 
        Seo plugin
        - Auto-creates and manages your SEO tags.
      
 
      - 
        Sluggable plugin -
        A simple Cake3 plugin to slug fields and find records by slug.
      
 
      - 
        :strawberry:
        Tools:Slugged
        - Containing Slugged behavior to auto-generate URL-compatible slugs from
        titles.
      
 
    
    Skeleton
    Plugins and repositories around app skeletons.
    
      - 
        :strawberry: App template -
        An empty CakePHP project for use with composer.
      
 
      - 
        :strawberry:
        Crud plugin -
        CakePHP Application development on steroids - rapid prototyping /
        scaffolding & production ready code.
      
 
      - 
        :strawberry:
        MixerApi/Bake - Bake
        theme for generating RESTful controllers.
      
 
      - 
        Plugin Skeleton
        - A skeleton example to create a Cake3 plugin.
      
 
    
    Social
    Plugins around social features.
    
      - 
        CakeDC/Forum plugin
        - Forum plugin including categories, threads and replies, reporting
        messages, moderators, admin interface and more.
      
 
      - 
        :strawberry:
        Ratings plugin
        - Allows users to rate records and displays ratings.
      
 
      - 
        SocialShare plugin
        - Link generator for sharing content on social networks.
      
 
    
    Templating
    Plugins for templating and lexing.
    
      - 
        Address plugin
        - An address helper that outputs a marked up address.
      
 
      - 
        :strawberry: Bake plugin -
        Provides code generation functionality.
      
 
      - 
        Bootstrap plugin
        - A Bootstrap 3 plugin with support for LESS.
      
 
      - 
        :strawberry:
        BootstrapUI plugin
        - Bootstrap 3 integration.
      
 
      - 
        CakeExcel plugin - An
        Excel view to generate XLSX files.
      
 
      - 
        Chocolate plugin
        - Front-End framework FormHelper extensions.
      
 
      - 
        CommonMark plugin -
        Adds CommonMark (markdown) support
        to models and views.
      
 
      - 
        :strawberry:
        CsvView plugin
        - A view class to easily generate CSV.
      
 
      - 
        Datalist plugin
        - Support for HTML5 datalist element with the possibility to create new
        entries into associated models.
      
 
      - 
        :strawberry:
        Feed plugin -
        Containing an RssView class to easily generate (complex) RSS feeds.
      
 
      - 
        InlineCss plugin
        - A plugin to convert HTML style blocks to inline CSS on a View template
        (intended for use with email templates).
      
 
      - 
        JadeView plugin -
        Jade template engine plugin.
      
 
      - 
        Liquid plugin - A plugin
        to use the Liquid templating language for views.
      
 
      - 
        :strawberry:
        Meta plugin -
        Makes handling meta tags and SEO relevant HTML markup DRY and easy.
      
 
      - 
        SocialMeta plugin -
        Adds support for Facebook’s OpenGraph and Twitter’s Card meta tags.
      
 
      - 
        :strawberry:
        TwigView plugin - A
        plugin to use the Twig Templating Language for views.
      
 
      - 
        VideoEmbed plugin
        - Helper for embedding YouTube, Vimeo and Dailymotion videos.
      
 
    
    Testing
    
      Plugins/Tools for testing codebases and generating test data.
    
    
    Third Party APIs
    Plugins for accessing third party APIs.
    
    Software
    Software for creating a development environment.
    Development Environment
    
      Software and tools for creating a sandboxed development
        environment.
    
    
      - 
        CakePHP.gitignore
        - The .gitignore file proposals.
      
 
      - 
        :strawberry:
        CakePHP Docker
        - A cakephp/app template for docker and kubernetes setup.
      
 
      - 
        CakePHP Vagrant Setup
        - Tool for spinning up multiple CakePHP 3.x Vanilla Dev Environments.
      
 
      - 
        Devilbox - A
        docker development environment for (CakePHP) apps to be auto-setup
        including a lot of tools.
      
 
      - 
        Docker -
        CakePHP in a docker container environment.
      
 
      - 
        :strawberry: Galley -
        A small Docker dev environment for CakePHP development which includes a
        simple command line utility.
      
 
      - 
        Mixer - A plugin to
        discover and manage CakePHP plugins.
      
 
      - 
        NetBeans -
        This package provides support for CakePHP in NetBeans 8.1+.
      
 
      - 
        Oven - Setup your favorite
        framework with 1 file and 1 click.
      
 
      - 
        PhpStorm plugin - CakePHP
        auto-completion support for console commands in PhpStorm IDE.
      
 
      - 
        Puppet - A server automation
        framework and application.
      
 
      - 
        Vagrant - A portable
        development environment utility.
      
 
    
    
      IDE specific compatibility information and tips can be found
      here.
    
    Web Applications
    
      CMS and applications built on CakePHP
    
    
    Demo
    Web-based (demo) applications and tools.
    
      - 
        BlogMVC - A
        simple Blog example with CakePHP based on
        BlogMVC Project.
      
 
      - 
        Bookmarkr A
        bookmarking application built with the CRUD plugin.
      
 
      - 
        CakeFest - Demo
        application around the annual CakePHP Conference “CakeFest”.
      
 
      - 
        Croogo 3.x - Croogo 3.x demo
      
 
      - 
        RealWorld
        - Example CakePHP codebase containing real world examples (CRUD, auth,
        advanced patterns and more) that adheres to the
        RealWorld
        spec and API.
      
 
      - 
        Sandbox - A sandbox CakePHP
        application with lots of demos and plugin showcasings.
      
 
      - 
        Query Examples
        Advanced query building examples.
      
 
      - 
        Xeta - A resource to help
        people starting with CakePHP.
      
 
      - 
        Vue.js Demo App
        - A CakePHP + VueJS single page application skeleton.
      
 
    
    Resources
    
      Various resources, such as books, websites and articles, for improving
      your CakePHP development skills and knowledge.
    
    Help
    Where to get help.
    
    CakePHP Websites
    Useful and current CakePHP-related websites and blogs.
    
    CakePHP Books and Articles
    
      Fantastic CakePHP-related (e)books and other reading material.
    
    CakePHP Videos
    Fantastic CakePHP-related videos.
    
      - 
        CakePHP - Channel
        about CakePHP videos.
      
 
    
    CakePHP Tutorials
    Must-do tutorials.
    
    CakePHP Reading and Listening
    
      Documentation and CakePHP-related reading and listening materials.
    
    
    CakePHP Internals Reading
    
      Reading materials related to the CakePHP internals and decisions.
    
    
    Conferences
    Official
    International conference.
    
    MeetUps
    Regional meet-ups.
    
    Contributing
    Please see CONTRIBUTING for details.
    Credits
    
      awesome-cakephp has been created by
      dereuromark and is currently
      maintained by him and the FriendsOfCake group. Thank you to all
      contributors, too.